package com.example.elderlycare.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * DateUtil 日期处理工具类
 *
 * @author ASUS
 */
public class DateUtil {
    /**
     * getDateDifference 计算日期相差天数
     *
     * @param start 开始日期
     * @param end   结束日期
     * @return count
     */
    public static int getDateDifference(Date start, Date end) {
        Long starTime = start.getTime();
        Long endTime = end.getTime();
        return Math.toIntExact((endTime - starTime) / 24 / 60 / 60 / 1000);
    }


    /**
     * getDateFromString 根据时间字符串获取Date
     *
     * @param date 时间字符串
     * @return Date
     * @throws ParseException 转换失败
     */
    public static Date getDateFromString(String date) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        return sdf.parse(date);
    }

    /**
     * getDateFromStringNew 根据时间字符串获取Date
     *
     * @param date 时间字符串
     * @return Date
     * @throws ParseException 转换失败
     */
    public static Date getDateFromStringNew(String date) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM月-yyyy");
        return sdf.parse(date);
    }


    /**
     * addDate 获取加一天的日期
     *
     * @param date 当前日期
     * @return 明天日期
     */
    public static Date addDate(Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.DATE, 1);
        return date;
    }
}
